home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 July / Macworld (1999-07).dmg / Shareware World / Maths & Science / YaCa20 / ReadMe next >
Text File  |  1999-04-26  |  15KB  |  447 lines

  1.  
  2. YaCa 2.0
  3.  
  4.  
  5.   A calculator for the Apple Mac
  6.  
  7.   Simon Richardson 1999
  8.   http://www.cobalt.u-net.com/
  9.  
  10.  
  11.  
  12.  
  13. CONTENTS
  14.  
  15. INTRODUCTION
  16.  
  17.   1.1    QUICK TOUR
  18.   1.2    SUPPORT
  19.   1.3    REGISTERING
  20.   1.4    SMALL PRINT
  21.  
  22. REFERENCE
  23.  
  24.   2.1    BUTTONS and the KEYBOARD
  25.   2.2    NUMBERS
  26.   2.3    OPERATIONS
  27.   2.4    FUNCTIONS
  28.   2.5    PERCENTAGES
  29.   2.6    CLEAR
  30.   2.7    UNDO/REDO
  31.   2.8    MEMORY
  32.   2.9    COPY and PASTE
  33.   2.10  THE LOG
  34.   2.11  CONVERSIONS
  35.  
  36. NOTES
  37.  
  38.   3.1    PREFERENCES
  39.   3.2    ACCURACY
  40.   3.3    SYSTEM REQUIREMENTS
  41.   3.4    TECH NOTES
  42.  
  43.  
  44.  
  45.  
  46. INTRODUCTION
  47.  
  48.  
  49. 1.1  -  QUICK TOUR
  50.  
  51. YaCa behaves just like a ‘real’ calculator, click the buttons or use the number keys on your keyboard. Try out these features:
  52.  
  53. •  There are 10 memories under the STO and RCL buttons, they are saved when you quit.
  54.  
  55. •  There is a log window, somewhat like a printing calculator's. Open it from the File menu, clear it from the Edit menu, save it as a SimpleText document to print, edit or whatever. The log window also displays error messages (try getting the log of zero).
  56.  
  57. •  Colour schemes can be selected in the preferences dialog (opened from the Edit menu).
  58.  
  59. •  The Conversion menu provides conversions between many common units.
  60.  
  61. •  You can Undo/Redo the last action (from the Edit menu or use command Z).
  62.  
  63. •  Numbers can be Copied and Pasted as text into another application.
  64.  
  65.  
  66. 1.2  -  SUPPORT
  67.  
  68. Information
  69. •  Read the reference notes below.
  70. •  Check the web site, you can copy its address straight out of the About box.
  71. •  If it's still not clear, email the author.
  72.  
  73. Updates
  74. •  Check the web site from time to time.
  75. •  Also check <http://www.versiontracker.com/>
  76.  
  77. Addresses
  78. •  web site     <http://www.cobalt.u-net.com/>
  79. •  email         <mailto://yaca@cobalt.u-net.com>
  80.    or              <mailto://cobalt@kagi.com>
  81.  
  82.  
  83. 1.3  -  REGISTERING
  84.  
  85. YaCa 2.0 is shareware, but even when unregistered YaCa is fully functional so you can try it out to see if it's what you need. Unregistered copies flash an 'Unregistered' message in the drag bar when they start up (for about 1/5 of a second).
  86.  
  87. If you find the program useful you should register it, which is very easy. Use the Register application included with YaCa. The ‘Registering’ document explains how to do it.
  88.  
  89. Registration costs $10 for a single user, $100 for any number of users at single site or $500 worldwide. Registration is forever, it includes all future upgrades of the program.
  90.  
  91. Your registration will help with developing new and better software.
  92.  
  93. Note: If YaCa's preferences file is damaged or lost it will forget that it has been registered, just enter your name and code into the About dialog again.
  94.  
  95.  
  96. 1.4  -  THE SMALL PRINT
  97.  
  98. Copyright
  99. YaCa is copyright ©1998...1999 Simon Richardson, the author.
  100. YaCa was compiled using MPW, therefore some parts may be copyright Apple.
  101. YaCa cannot be sold, either by itself or in combination with any other product, without the express written permission of the author.
  102. All distributions of YaCa must be distributions of the full package including documentation.
  103.  
  104. Limited warranty and limitation of remedies
  105. The program and any support from the author, are provided “as is” and without warranty, express and implied, including but not limited to any implied warranties of merchantability and fitness for a particular purpose. In no event will the author be liable for any damages, including lost profits, lost savings, or other incidental or consequential damages, even if the author is advised of the possibility of such damages, or for any claim by you or any third party.
  106.  
  107.  
  108.  
  109.  
  110. REFERENCE
  111.  
  112.  
  113. 2.1  -  BUTTONS and the KEYBOARD
  114.  
  115. The calculator can be driven by clicking the buttons or from the keyboard.
  116. Hold down the shift key to get the alternative function (the one shown above the button).
  117.  
  118.     Key      Equivalent Button
  119.     —--      ————————---------
  120.  
  121.     e        exponent
  122.  
  123.     enter    =
  124.     delete   clear
  125.     clear    clear
  126.  
  127.     s        sin
  128.     c        cos
  129.     t        tan
  130.     l        log   (log base 10)
  131.     n        ln    (log base e)
  132.     b        lg2   (log base 2)
  133.     r        1/x
  134.     q        sqr root
  135.     f        change sign
  136.     p        power
  137.  
  138.              and brackets [ ].
  139.  
  140. The clicking noises can be switched on and off in the preferences dialog.
  141.  
  142.  
  143. 2.2  -  NUMBERS
  144.  
  145. General/Exponential
  146. Use the Numbers menu to choose how numbers are displayed. General shows numbers a floating format, if the numbers get too big it switches to exponential. Choose Exponential to show numbers in exponential format at all times.
  147.  
  148. In either mode an exponent can be entered using the [exp] button or the ‘e’ key. Exponents are always integers.
  149.  
  150.     2e2    means   2 times ten to the 2   which is 200
  151.     2e-3   means   0.002
  152.  
  153. Results that are too big are displayed as INF (infinity).
  154.  
  155. International Formats
  156. The calculator is aware of international number formats. For example, on a British or US mac you get ‘ . ’ as a decimal point and on a French mac you get ‘ , ’. Copy and paste are also affected by international number formats.
  157.  
  158. The calculator is aware of the thousands separator, but will reject it at the keyboard. It is only significant when pasting a number.
  159.  
  160.  
  161. 2.3  -  OPERATIONS
  162.  
  163. Precedence
  164. Operations are not performed left to right but according to their precedence: raising to a power is performed first, multiplication and division are performed next, addition and subtraction are performed last. So expressions are evaluated as they are conventionally written. For example;
  165.  
  166.     1 + 2 * 3    means   1 + (2 * 3)
  167.  
  168.     the result is 7, not 9.
  169.  
  170. You can use brackets to change the order of evaluation, they can be nested 9 deep.
  171.  
  172.     10 * 2 + 5 = 25
  173.  
  174.     but
  175.  
  176.     10 * (2 + 5) = 70
  177.  
  178. + and - can be applied monadically like this:
  179.  
  180.     2 + -1 = 1
  181.  
  182.  
  183. 2.4  -  FUNCTIONS
  184.  
  185. Precedence
  186. Most functions are obvious and work like other calculators, in other words they are NOT used as you would write them down. They have the highest precedence and are evaluated immediately.
  187.  
  188. For example (where √ means the square root button);
  189.  
  190.                7 + 9 √ =
  191.  
  192.     means      7 + ‘square root of’ 9 =
  193.  
  194.     evaluates  7 + 3 = 10
  195.  
  196. Similarly, to find 10 sin(30˚)
  197.  
  198.     enter      30 sin * 10 =
  199.  
  200.     or         10 * ( 30 sin ) =
  201.  
  202. Angles
  203. Trigonometric functions interpret angles as radians or degrees depending on the setting of the Numbers menu. An angle can be converted between radians and degrees at any time using the Convert menu.
  204.  
  205. Ranges
  206. Some functions have limited ranges
  207.  
  208.     acos(x)                result is in [0...pi]
  209.     asin(x)                result is in [-pi/2...pi/2]
  210.     atan(x)                result is in [-pi/2...pi/2]
  211.  
  212.     log(x)                 x must be greater than 0
  213.     ln(x)                  x must be greater than 0
  214.     lg2(x)                 x must be greater than 0
  215.  
  216.     root(x)                x must be positive
  217.  
  218.     1/x        x cannot be zero
  219.  
  220. *   x!                     x must be less than 1700
  221.  
  222. *Factorials
  223. Factorial is an integer function, but if you ask for the factorial of a real number, the calculator will (1) make it positive and (2) truncate it, so:
  224.  
  225.     2.3! is evaluated as 2!
  226.    -6.8! is evaluated as 6!
  227.  
  228.  
  229. 2.5  -  PERCENTAGES
  230.  
  231. The percentage function is a variation on ‘=’, it evaluates x = y*(x/100) first. In practice it’s used like this:
  232.  
  233.     50 + 10 %= 55
  234.     50 - 10 %= 45
  235.     50 * 10 %= 250
  236.  
  237. Precedence of operators still applies here:
  238.  
  239.     20 + 50 * 10 %=
  240.     20 + (50 * 5) =
  241.     270
  242.  
  243. Finally, this is unusual but possible:
  244.  
  245.     2 ^ 400 %=    is    2 ^ 8 =    256
  246.  
  247.  
  248. 2.6  -  CLEAR
  249.  
  250. Plain clear [C] clears x, so if you make a mistake you can correct it;
  251.  
  252.     100 + 200 [C] 300 =
  253.  
  254.     evaluates as
  255.  
  256.     100 + 300 =
  257.  
  258. Shift clear [AC] means all clear, it clears everything except the memory.
  259.  
  260. If you have pressed the wrong button and want to clear a single digit you should use Undo…
  261.  
  262.  
  263. 2.7  -  UNDO/REDO
  264.  
  265. Undo undoes the last action performed. It completely reverses the action, restoring the calculator to the state it was in before the action. Once undone, an action can be re-done by selecting Redo.
  266.  
  267. The following actions are undoable:
  268.  
  269.     Digits, Constants
  270.     Operators and Functions
  271.     Clear (but not All Clear)
  272.     Equals
  273.     Memory, Push and Pop
  274.     Brackets
  275.     Conversions
  276.     Paste
  277.  
  278. The following cannot be undone:
  279.  
  280.     Copy and Cut
  281.     All Clear
  282.     Clearing the log
  283.  
  284. The following are not affected by undo, and do not affect it:
  285.  
  286.     Altering preferences.
  287.     Altering angle or display modes in the Numbers menu.
  288.  
  289. Undo/Redo can be selected from the keyboard with command Z.
  290.  
  291.  
  292. 2.8  -  MEMORY
  293.  
  294. Store/Recall
  295. There are 10 memories, M and k1 to k9. They are identical, but there are some extra things you can do with them independently. The memories are accessed using popup menus under the STO and RCL buttons. STO stores x in the memory. RCL recalls x from the memory.
  296.  
  297. The memories are saved when you quit (into the preferences file).
  298.  
  299. Accumulating M
  300. There are some extra ‘accumulator’ functions that apply to the M memory:
  301.  
  302.     m+x    add x to the memory
  303.     m-x    subtract x from the memory
  304.     m*x    multiply the memory by x
  305.     m/x    divide the memory by x
  306.  
  307. Push and Pop k
  308. The k memories can treated as a stack. Pushing and popping a stack is common in programming but may be a strange idea elsewhere.
  309.  
  310. Imagine the k memories as a continuous block with k1 at the top and k9 at the bottom.
  311.  
  312. Push makes the content of each k memory move downwards: k1 is moved to k2, k2 is moved to k3, and so on, with k9 falling off the bottom. The value of x is then copied onto the top at k1.
  313.  
  314. Pop does the reverse. k1 is copied to x, then all the values move upwards, with k9 at the bottom being filled with 0.
  315.  
  316. The easiest way to get the hang of it is to experiment; put a value in x, press Push and then have a look at the memories. Push a few more values to see the stack moving downwards, then try popping. It is important to remember that every time you push, k9 falls off the bottom and is lost forever. Remember too that memory M is not affected by pushing or popping.
  317.  
  318.  
  319. 2.9  -  COPY and PASTE
  320.  
  321. Cut, Copy and Clear are enabled whenever the displayed number (x) is not 0. Paste is enabled whenever there is text to paste that is a number.
  322.  
  323. International formatting is applied to the clipboard.
  324.  
  325. Clear on the Edit menu is the same as pressing the clear button.
  326.  
  327.  
  328. 2.10  -  THE LOG
  329.  
  330. The log window displays two columns. On the left it shows the value of x and on the right it shows the operation or function that produced it. The log is updated when it is open, but inactive when closed. Entries are added to it as operations are actually evaluated. This is often some time after the operation has been entered because the calculator is having to look ahead to the following operation in order to get precedence right.
  331.  
  332. Opening
  333. The log is opened from the File menu. You can also set it to open automatically whenever you launch the calculator using the check box in the preferences dialog.
  334.  
  335. Clearing
  336. The log can be cleared by selecting Clear Log from the Edit menu. This cannot be undone so save the log first if you need it.
  337.  
  338. Saving
  339. Select Save Log from the File menu. The log is saved as a SimpleText document with the two columns separated by spaces. You can choose to have tabs instead of spaces (though SimpleText doesn’t understand tabs). Select this option from the preferences dialog.
  340.  
  341. Closing
  342. Close from the File menu or by clicking the window's close box. If the log is not empty, and hasn't been saved, you will be prompted to save it.
  343.  
  344. There is a limit of 800 lines in the log. You will get a warning that you need to clear it before you reach this limit (at 790 lines). In practice it is wise to save the log before it gets this big.
  345.  
  346. You can use the keyboard to drive the calculator even when the log window is in front.
  347.  
  348.  
  349. 2.11  -  CONVERSIONS
  350.  
  351. Most of the conversions are worked out from first principle and are exact (to the limit of displayed digits). For example, the inch is defined internationally to be exactly 25.4mm. Where approximations are used they are to at least 8 significant digits.
  352. Approximate conversions are indicated by the broken arrow symbol.
  353.  
  354. Angles
  355. Conversions between radians and degrees work at any time, the Numbers menu only affects trig functions as they are used.
  356.  
  357. Distance
  358. • Miles are statute miles, equal to 5280 feet.
  359. • Points are set in the preferences dialog. A pica is 12 points.
  360. • Nautical miles are international standard nautical miles (1852 metres).
  361. • A fathom is an (old) unit of depth, equal to six feet.
  362.  
  363. Mass
  364. • Units like the ounce are both imperial and US.
  365. • A tonne is 1000 kg, or a ‘megagramme’.
  366. • UK cwt and tons are also known as ‘long’ (1 cwt = 112 lb).
  367. • US cwt and tons are also known as ‘short’ (1 cwt = 100 lb).
  368.  
  369. Time
  370. •  …
  371.  
  372. Area
  373. • Hectares are rather trivial to convert but are the standard measure of land, 1 hectare = 100 ares, or 1/100th of a sq km.
  374.  
  375. Volume
  376. • The SI unit is the cubic metre, but the more practical litre is used here, 1 cu metre = 1000 litres, or 1 litre = 1 cu decimetre.
  377. • There are two varieties of US measure; dry and liquid (wet). The liquid measures are the most common.
  378. • A barrel of oil is an international unit, but is under ‘US’ because it happens to be exactly 42 US wet gallons.
  379.  
  380. Speed
  381. • Knots are nautical miles per hour (see distance).
  382.  
  383. Force
  384. • 1 kgF is the force exerted by 1 kilogramme under 1 Standard Earth Gravity.
  385. • 1 Standard Earth Gravity is defined to be 9.80665 [m/s2] exactly.
  386.  
  387. Pressure
  388. • The basic unit is the Pascal which equals 1 newton per sq metre. This is a very small pressure, kiloPascals [kPa] and even megaPascals [MPa] are more common.
  389.  
  390. Temperature
  391. • Temperatures below absolute zero (0K) are treated as potential errors.
  392.  
  393. Recommended web sites for information on units and conversions:
  394.  
  395. A Dictionary of Units
  396. Concise, comprehensive and accurate data
  397. <http://www.ex.ac.uk/cimt/dictunit/dictunit.htm>
  398.  
  399. How Many?
  400. Detailed history and background information
  401. <http://www.unc.edu/~rowlett/units/index.html>
  402.  
  403.  
  404.  
  405.  
  406. NOTES
  407.  
  408.  
  409. 3.1  -  PREFERENCES
  410.  
  411. On Startup... Open Log makes a new log open automatically when the program starts.
  412.  
  413. Save log with... either spaces or tabs. Use spaces unless you want to open the log in a word processor to format it. Note: log files saved with tabs are smaller that those saved with spaces.
  414.  
  415. Points affects conversions. For general typographic work with applications such as Photoshop or Pagemaker use DTP points (72 per inch exactly). Didot and traditional points are very rare nowadays.
  416.  
  417. Scheme to match your iMac ...?
  418.  
  419. Sounds can be loud, soft or off. Loud is slightly less than the general volume level set in the Sound control panel, soft is about half that.
  420.  
  421.  
  422. 3.2  -  ACCURACY
  423.  
  424. Internally YaCa uses long doubles for its calculations. Because this is binary arithmetic and the display is decimal you may get the occasional - very small - error. This can be due to rounding but, most often, it is because some numbers cannot be represented in one base or the other perfectly (for example 1/3 in decimal).
  425.  
  426.  
  427. 3.3  -  SYSTEM REQUIREMENTS
  428.  
  429. System 7.0 or later.
  430. At least a 68020 processor.
  431. 150k of free ram.
  432.  
  433.  
  434. 3.4  -  TECHNICAL NOTES
  435.  
  436. YaCa is written in C and compiled using MPW and SC to produce 68k code. So it should run on just about everything. A pure PowerPC version is for the future.
  437.  
  438. YaCa understands the four required AppleEvents, but only responds to ‘Quit’ (issued when the system closes down).
  439.  
  440. If you suspect a bug in the program send email.
  441.  
  442.  
  443.  
  444.  
  445. // end of file
  446.  
  447.